<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <h:form id="formBuscarFP">
                <p:fieldset legend="BUSCAR FACTURA PROFORMA" toggleable="true" >
                    <p:panelGrid  style="width: 100%;margin: 10px auto;"> 
                        <p:row>
                            <p:column style="width: 200px">
                                <h:outputText value="CÓDIGO DE FACTURA PROFORMA(*)" />
                            </p:column>
                            <p:column rendered="#{BKOrdenPedido.comando.nombre eq 'Actualizar'?false:true}">
                                <p:selectOneMenu id="txtCodigoFP" required="true" 
                                                 value="#{BKOrdenPedido.facturaProformaFormulario.id}" 
                                                 style="width: 180px" filter="#{BKOrdenPedido.listaFacturaProformaActiva.size() gt 10?true:false}" filterMatchMode="contains"> 
                                    <f:selectItem itemLabel="Seleccionar" itemValue="" /> 
                                    <f:selectItems value="#{BKOrdenPedido.listaFacturaProformaActiva}" var="fp" 
                                                   itemLabel="#{fp.codigoProforma}" itemValue="#{fp.id}"/>	
                                </p:selectOneMenu>
                                <p:message for="txtCodigoFP" display="text"  />
                            </p:column>

                            <p:column rendered="#{BKOrdenPedido.comando.nombre eq 'Actualizar'?true:false}">
                                <h:outputText value="#{BKOrdenPedido.ordenPedidoFormulario.idFacturaProforma.codigoProforma}" id="txtCodigoFP1" />
                            </p:column>
                        </p:row>
                        <p:row rendered="#{BKOrdenPedido.comando.nombre eq 'Actualizar'?false:true}">
                            <p:column colspan="2" >
                                <p:commandButton id="btnBuscarOP" value="BUSCAR" update=":formOrdenPedido" ajax="true" 
                                                 actionListener="#{MBOrdenPedido.buscarFacturaProforma()}" styleClass="ui-priority-primary" 
                                                 style="font-size: 12px" process="txtCodigoFP @this"/>
                            </p:column>
                        </p:row>
                    </p:panelGrid>
                </p:fieldset>

            </h:form>


            <h:form id="formOrdenPedido">
                <p:panel id="pnlBusquedaBancos" header="Realizar Orden de Producción de Prendas" style="margin: 0px auto;">

                    <p:panelGrid  style="width: 100%;margin: 10px auto;">      
                        <p:row>
                            <p:column>
                                <h:outputLabel value="CÓDIGO DE ORDEN DE PRODUCCIÓN:" rendered="#{BKOrdenPedido.comando.nombre ne 'Actualizar'?false:true}" />  
                            </p:column>
                            <p:column colspan="3">
                                <h:outputText id="idCodigoPedido" value="#{BKOrdenPedido.ordenPedidoFormulario.codigoOrdenPedido}" 
                                              style="width: 180px" rendered="#{BKOrdenPedido.comando.nombre ne 'Actualizar'?false:true}" />  
                            </p:column>

                        </p:row>


                        <p:row rendered="false">

                            <p:column>
                                <h:outputLabel value="ESTADO DE ORDEN DE PRODUCCION: " />  
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="idEstadoPedido" value="#{BKOrdenPedido.ordenPedidoFormulario.estadoPedido}" disabled="true" style="width: 188px">
                                    <f:selectItem itemLabel="BORRADOR" itemValue="B" />                                          
                                </p:selectOneMenu>                        
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column>

                                <h:outputLabel value="FECHA INICIO PEDIDO(*): " />  
                            </p:column>
                            <p:column>
                                <p:calendar value="#{BKOrdenPedido.ordenPedidoFormulario.fechaInicioPedido}" id="idFechaTomaPedido" locale="es"
                                            required="true" showOn="button" style="width: 185px" pattern="dd/MM/yyyy" maxdate="#{BKOrdenPedido.ordenPedidoFormulario.fechaDespachoEstimada}">
                                    <p:ajax event="dateSelect" listener="#{MBOrdenPedido.marcarInicio}" update="idFechaDespachoPedido" />
                                </p:calendar>
                            </p:column>

                            <p:column>
                                <h:outputLabel value="FECHA DE DESPACHO(*): " />  
                            </p:column>
                            <p:column>
                                <p:calendar value="#{BKOrdenPedido.ordenPedidoFormulario.fechaDespachoEstimada}" id="idFechaDespachoPedido" locale="es"
                                            required="true" showOn="button" style="width: 185px" pattern="dd/MM/yyyy" mindate="#{BKOrdenPedido.ordenPedidoFormulario.fechaInicioPedido}">
                                    <p:ajax event="dateSelect" listener="#{MBOrdenPedido.marcarFinal}" update="idFechaTomaPedido" />
                                </p:calendar>
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column>
                                <h:outputLabel value="CLIENTE(*): " />
                            </p:column>
                            <p:column>
                                <h:outputText id="idCliente" value="#{BKOrdenPedido.ordenPedidoFormulario.idCliente.razonSocial}"  />  
                            </p:column>

                        </p:row>


                        <p:row>
                            <p:column colspan="4">
                                <p:fieldset legend="INFORMACIÓN DEL CLIENTE" toggleable="true" >
                                    <p:panelGrid  style="width:100%">
                                        <p:row>
                                            <p:column style="width: 150px">
                                                <h:outputLabel value="CÓDIGO DE CLIENTE:" />  
                                            </p:column>
                                            <p:column>
                                                <h:outputLabel style="font-weight: bold" id="idCodigoCliente" value="#{BKOrdenPedido.ordenPedidoFormulario.idCliente.codigoCliente}" />
                                            </p:column>
                                            <p:column style="width: 150px">
                                                <h:outputLabel value="NRO DE DOCUMENTO: " /> 
                                            </p:column>
                                            <p:column>
                                                <h:outputLabel style="font-weight: bold" id="idNroDocumentoCliente" value="#{BKOrdenPedido.ordenPedidoFormulario.idCliente.numeroDocumento}" />                          
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column style="width: 150px">
                                                <h:outputLabel value="DIRECCIÓN FISCAL" />  
                                            </p:column>
                                            <p:column colspan="3">
                                                <h:outputLabel style="font-weight: bold" id="idDireccionCliente" value="#{BKOrdenPedido.ordenPedidoFormulario.idCliente.direccionLegal}  " />
                                                <h:outputLabel style="font-weight: bold" id="idDireccionClientePais" value="#{BKOrdenPedido.ordenPedidoFormulario.idCliente.descUbicacion}  " />
                                            </p:column>
                                        </p:row>

                                    </p:panelGrid>


                                </p:fieldset>
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column>
                                <h:outputLabel value="CLIENTE MARCA: " />
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="clienteMarca" value="#{BKOrdenPedido.clienteMarca}" rendered="false"
                                                  converter="#{clienteConverter}" style="width: 200px"
                                                  filter="true" filterMatchMode="contains" var="cli">
                                    <f:selectItem itemLabel="Seleccione" itemValue="" />                                          
                                    <f:selectItems value="#{BKOrdenPedido.listaClientesActivos}" var="cliente" 
                                                   itemValue="#{cliente}" itemLabel="#{cliente.razonSocial}" />
                                    <p:column>  
                                        #{cli.razonSocial}
                                    </p:column> 
                                    <p:ajax process="@this" listener="#{MBOrdenPedido.elegirClienteMarca}" event="change" />
                                </p:selectOneMenu>      
                                <h:outputText id="idClienteMarca" value="#{BKOrdenPedido.ordenPedidoFormulario.clienteMarca.razonSocial}"  />  
                                <p:message for="idClienteMarca" display="text"/>
                                <h:outputLink value="#{request.contextPath}#{MBCliente.mostrarMantenimiento()}.anx" target="_blank" class="linkAgregar" >Agregar Cliente</h:outputLink>
                            </p:column>

                        </p:row>

                        <p:row>
                            <p:column>
                                <h:outputLabel value="TIPO MONEDA(*): " />
                            </p:column>
                            <p:column>
                                <h:outputLabel style="font-weight: bold" id="txtMoneda" value="#{BKOrdenPedido.ordenPedidoFormulario.tipoMoneda}" />
                            </p:column>

                            <p:column>
                                <h:outputLabel value="COLECCIÓN(*): " />
                            </p:column>
                            <p:column>
                                <h:outputText id="txtColeccion" value="#{BKOrdenPedido.ordenPedidoFormulario.coleccionNombre}"  />
                                <p:message for="txtColeccion" display="text" />
                            </p:column>
                        </p:row>




                        <p:row>
                            <p:column colspan="4">             
                                <p:panel id="idPanelListaDetalle" header="Detalle Orden de Producción" style="margin: 0px auto;">

                                    <p:commandButton value="AGREGAR DETALLE" styleClass="ui-priority-primary" id="btnAgregarArticulo"  process="@this" 
                                                     oncomplete="agregarPrenda.show()" actionListener="#{MBDetallePedidoOP.nuevoDetalle}"
                                                     update=":formularioAgregarPrenda:agregarDetalle" />     

                                    <br /><br />


                                    <p:dataTable id="dataTablaDetallePedido" value="#{BKDetallePedido.listaDetallePedidoOP}"  var="detallePedidoOp"
                                                 emptyMessage="No hay productos añadidos" filteredValue="" editable="true" rowIndexVar="rowIndex"
                                                 paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                                 {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" 
                                                 paginatorPosition="bottom" styleClass="datable-busqueda"> 
                                        <p:ajax event="rowEdit" update=":formOrdenPedido:idResumen" listener="#{MBDetallePedidoOP.editarDetallePedidoOp}" />

                                        <p:column id="idColumnaNumArt" style="width: 5%" headerText="Num.">
                                            <h:outputText value="#{rowIndex+1}" />
                                        </p:column>

                                        <p:column id="idProductoOP"
                                                  headerText="Producto"  
                                                  filterMatchMode="contains">
                                            <h:outputText value="#{detallePedidoOp.nombreProducto}" /> 
                                        </p:column>


                                        <p:column id="idColorOP" rendered="false"
                                                  headerText="Detalle"  
                                                  filterMatchMode="contains"> 
                                            <h:outputText value="#{detallePedidoOp.detalle}" /> 
                                        </p:column>

                                        <p:column id="idTallaOP"
                                                  headerText="Talla"  
                                                  filterMatchMode="contains"> 
                                            <h:outputText value="#{detallePedidoOp.talla}" /> 
                                        </p:column>

                                        <p:column id="idCantidadOP"
                                                  headerText="Cantidad"  
                                                  filterMatchMode="contains">
                                            <p:cellEditor>  
                                                <f:facet name="output">  
                                                    <h:outputText value="#{detallePedidoOp.cantidad}" style="float: right" >
                                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                                    </h:outputText>    
                                                </f:facet>  
                                                <f:facet name="input">  
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoOp.cantidad}" 
                                                                 style="width:100%" maxlength="150" >
                                                    </p:inputText> 

                                                </f:facet>
                                            </p:cellEditor>  
                                        </p:column>

                                        <p:column id="idPrecioUnitarioOP"                                                                           
                                                  headerText="Precio unitario">  
                                            <p:cellEditor>  
                                                <f:facet name="output">  
                                                    <h:outputText value="#{detallePedidoOp.precioUnitario}" 
                                                                  style="width:100%;float: right" >
                                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                                    </h:outputText> 
                                                </f:facet>  
                                                <f:facet name="input">  
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoOp.precioUnitario}" 
                                                                 style="width:100%" >
                                                    </p:inputText> 

                                                </f:facet>
                                            </p:cellEditor>  
                                        </p:column> 

                                        <p:column id="idPesoUnidadOP" rendered="false"                                                                               
                                                  headerText="Peso Unit.(Kgs)"> 
                                            <p:cellEditor>  
                                                <f:facet name="output">  
                                                    <h:outputText value="#{detallePedidoOp.pesoUnitario}" >
                                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                                    </h:outputText>    
                                                </f:facet>  
                                                <f:facet name="input">  
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoOp.pesoUnitario}" 
                                                                 style="width:100%" maxlength="150" >
                                                    </p:inputText> 

                                                </f:facet>  
                                            </p:cellEditor>  
                                        </p:column>         

                                        <p:column id="idPesoTotalFO" rendered="false"                                                                                                	
                                                  headerText="Peso Tot.(Kgs)" > 
                                            <h:outputText value="#{detallePedidoOp.pesoTotal}" >
                                                <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                            </h:outputText>    
                                        </p:column>         

                                        <p:column id="idPrecioTotalOP"                                                                                                	
                                                  headerText="Precio Total" > 
                                            <h:outputText value="#{detallePedidoOp.precioTotal}" style="float: right">
                                                <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                            </h:outputText>    
                                        </p:column>                 

                                        <p:column id="idAccionesCuentaBancariaFO" headerText="Acciones" >                                            
                                            <p:commandButton id="selectButton" oncomplete="confirmacion.show()" ajax="true"
                                                             icon="ui-icon-trash" process="@this" >
                                                <f:setPropertyActionListener value="#{detallePedidoOp}" target="#{BKDetallePedido.currentDetalleOrdenPedido}"/>
                                            </p:commandButton>  
                                            <p:rowEditor  transient="true" />  
                                        </p:column>

                                    </p:dataTable>
                                    <br/>
                                    <h:panelGrid id="idResumen" columns="6" style="width: 800px;margin: 0px auto; text-align: left">   
                                        <h:outputText  value="CANTIDAD TOTAL DE PRODUCTOS: " style="font-weight: bold" />
                                        <h:outputText id="lblCantitadTP" value="#{BKOrdenPedido.ordenPedidoFormulario.cantidadTotalProductos}" >
                                            <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                        </h:outputText>     
                                        <h:outputText  value="PESO TOTAL (KGS): " style="font-weight: bold" rendered="false" />
                                        <h:outputText id="lblPesoTotal" value="#{BKOrdenPedido.ordenPedidoFormulario.pesoTotal}" rendered="false">
                                            <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                        </h:outputText>   
                                        <h:outputText  value="PRECIO TOTAL : " style="font-weight: bold" />
                                        <h:outputText id="lblPrecioTotal" value="#{BKOrdenPedido.ordenPedidoFormulario.montoTotal}" >
                                            <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                        </h:outputText>   
                                    </h:panelGrid>                         

                                </p:panel> 
                            </p:column>
                        </p:row>
                    </p:panelGrid> 
                    <p:panelGrid style="width:40%;margin: 10px auto;">

                        <p:row >
                            <p:column>
                                <p:commandButton action="#{BKOrdenPedido.comando.aceptar()}" ajax="false" 
                                                 value="#{BKOrdenPedido.comando.nombre}" id="btnGuardar"
                                                 disabled="#{BKDetallePedido.listaDetallePedidoOP.size() eq 0?true:false}"/>
                            </p:column>
                            <p:column>
                                <p:commandButton action="#{MBOrdenPedido.cancelar()}" ajax="false" immediate="true" value="Cancelar"/>
                            </p:column>
                            <p:column rendered="#{BKOrdenPedido.comando.nombre eq 'Actualizar'?true:false}">
                                <p:commandButton action="#{MBOrdenPedido.generarExplosionPrenda()}" ajax="false" immediate="true" value="Generar Explosión"/>
                            </p:column>
                        </p:row>	

                    </p:panelGrid>


                    <h:panelGrid styleClass="mensaje_obligatorio">(*) Campos Requeridos</h:panelGrid>

                    <p:confirmDialog id="dlgEliminarDetalleFP" message="#{message['dialog.confirmacion.mensaje']}" 
                                     header="#{message['dialog.confirmacion.header']}" severity="alert" widgetVar="confirmacion">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnConfEliDetalleFP" update="idPanelListaDetalle,btnGuardar"
                                             value="Si"  oncomplete="confirmacion.hide()" actionListener="#{MBDetallePedidoFP.eliminarDetallePedidoFp}" 
                                             style="text-align: center" immediate="true" />  
                            <p:commandButton id="btnCancEliDetalleFP" value="No" onclick="confirmacion.hide()" type="button" style="text-align: center" />   

                        </h:panelGrid>
                    </p:confirmDialog>




                </p:panel>
            </h:form>
            <p:dialog widgetVar="agregarPrenda" id="agregarArticulo" header="Agregar Nuevo Producto" modal="true" closable="false">
                <ui:include src="FormularioAgregarPrenda.xhtml" />                     
            </p:dialog>


        </ui:define>
    </ui:composition>
</html>   
